import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QImage, QPixmap
import matplotlib.pyplot as plt

class QDialogDemo(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("消息对话框")
        self.resize(300,200)

        self.button=QPushButton(self)#直接把整个button放在窗口上
        self.button.setText("OK")
        self.button.move(50,50)
        self.button.clicked.connect(self.showDialog)

    def showDialog(self):
        #创建一个对话框
        class MyDialog(QDialog):
            def __init__(self):
                super().__init__()

            def hd1(self):
                print("有时候我觉得自己像一只小小鸟")
                # x = [1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910]
                # y = [265, 323, 136, 220, 305, 350, 419, 450, 560, 720, 830]
                # # 使用Matplotlib画折线图
                # plt.plot(x, y)
                # plt.title('use matplotlib')
                # plt.show()
                myDialog = QDialog()
                layout_H = QHBoxLayout()
                textTip = QPlainTextEdit("我不是一只小小鸟", myDialog)  # 直接就在这个对话框上面了
                imgLabel=QLabel(myDialog)
                layout_H.addWidget(imgLabel)
                myDialog.setLayout(layout_H)
                fname = "a.png"  # 版本问题  python3.8可以正常显示bmp格式的图片  python3.6不行
                print(fname)
                # self.imgLabel.setPixmap(QPixmap(fname))  # 设置图片显示
                # self.imgLabel.setPixmap(QPixmap(fname))
                imgLabel.setPixmap(QPixmap(fname).scaled(imgLabel.width(), imgLabel.height()))  # 设置图片显示

                myDialog.setWindowTitle("2222我的消息对话框")
                myDialog.setWindowModality(Qt.ApplicationModal)  # 设置不关闭这个对话框 原来的主界面上的元素就不可用
                myDialog.exec()


        myDialog=MyDialog()
        textTip=QPlainTextEdit("我是一只小小鸟",myDialog)#直接就在这个对话框上面了
        buttonClose=QPushButton("关闭按钮",myDialog)
        buttonClose.clicked.connect(myDialog.close)
        buttonClose.move(50,50)

        btnMessage=QPushButton("显示消息按钮",myDialog)
        btnMessage.clicked.connect(myDialog.hd1)
        btnMessage.move(50, 70)

        myDialog.setWindowTitle("我的消息对话框")

        myDialog.setWindowModality(Qt.ApplicationModal)#设置不关闭这个对话框 原来的主界面上的元素就不可用
        myDialog.exec()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = QDialogDemo()
    window.show()
    sys.exit(app.exec_())